import { createRouter, createWebHistory } from 'vue-router'
import { useLogin } from '../pinia/loginInfo'



// 2. 定义一些路由
// 每个路由都需要映射到一个组件。
// 我们后面再讨论嵌套路由。
const routes = [
  {
    path: '/',
    component: ()=> import('../components/HomeView.vue'),
    name: 'home'
  },
  {
    path: '/other',
    component: ()=> import('../components/OtherView.vue'),
    name: 'other'
  },
  {
    path: '/login',
    name: 'login',
    component: () => import('../components/LoginView.vue')
  }
]

// 3. 创建路由实例并传递 `routes` 配置
// 你可以在这里输入更多的配置，但我们在这里
// 暂时保持简单
const router = createRouter({
  // 4. 内部提供了 history 模式的实现。为了简单起见，我们在这里使用 hash 模式。
  history: createWebHistory(),
  routes, // `routes: routes` 的缩写
})



router.beforeEach((to, from) => {
  let token = useLogin().token
  if(token == ''&&to.path!='/'&&to.path!='/login'){
    router.push('/login')
  }
  // ...
  // 返回 false 以取消导航
  return true
})

// 5. 创建并挂载根实例
//const app = Vue.createApp({})
//确保 _use_ 路由实例使
//整个应用支持路由。
//app.use(router)
//app.mount('#app')
export default router